package leetcode.tree;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;

import sun.security.util.Length;

/**
 * @author 榆关
 * 将一个数组转化为二叉树
 */
public class BinTreeTraverse {
    public TreeNode createBin(int[] array){
        List<TreeNode> nodes = new ArrayList<TreeNode>();
        for(int i=0;i<array.length;i++){
            nodes.add(new TreeNode(array[i]));
        }
        for(int parentIndex = 0;parentIndex<array.length/2-1;parentIndex++){
            nodes.get(parentIndex).left = nodes.get(parentIndex*2+1);
            nodes.get(parentIndex).right = nodes.get(parentIndex*2+2);
        }
        int lastParentIndex = array.length/2-1;
        nodes.get(lastParentIndex).left = nodes.get(lastParentIndex*2+1);
        if(array.length%2 == 1){
            nodes.get(lastParentIndex).right = nodes.get(lastParentIndex*2+2);
        }
        return nodes.get(0);
    }
}
